import info.gridworld.actor.*;
import info.gridworld.grid.BoundedGrid;
import info.gridworld.grid.Location;
import info.gridworld.grid.UnboundedGrid;


public class MazeBugRunner {
    public static void main(String[] args)
    {
        // Unbounded Mode 以下两行
        UnboundedGrid<Actor> UBG =  new UnboundedGrid<>();
        ActorWorld world = new ActorWorld(UBG);
        // Bounded Mode 以下两行
//        BoundedGrid<Actor> BG = new BoundedGrid<>(10,10);
//        ActorWorld world = new ActorWorld(BG);


        // MazeBug Mode
//        world.add(new Location(0,0), new MazeBug());
        // MazeBugPro Mode
//        world.add(new Location(0,0), new MazeBugPro());


        //maze 1 start BoundedMode
//        world.add(new Location(0,0), new MazeBugPro());
//        world.add(new Location(1, 0), new Rock());
//        world.add(new Location(1, 1), new Rock());
//        world.add(new Location(1, 3), new Rock());
//        world.add(new Location(2, 3), new Rock());
//        world.add(new Location(2, 4), new Rock());
//        world.add(new Location(2, 5), new Rock());
//        world.add(new Location(2, 6), new Rock());
//        world.add(new Location(2, 7), new Rock());
//        world.add(new Location(2, 8), new Rock());
//        world.add(new Location(2, 9), new Rock());
//        world.add(new Location(3, 1), new Rock());
//        world.add(new Location(3, 3), new Rock());
//        world.add(new Location(4, 6), new Rock());
//        world.add(new Location(4, 7), new Rock());
//        world.add(new Location(5, 1), new Rock());
//        world.add(new Location(5, 2), new Rock());
//        world.add(new Location(5, 3), new Rock());
//        world.add(new Location(5, 5), new Rock());
//        world.add(new Location(6, 1), new Rock());
//        world.add(new Location(6, 7), new Rock());
//        world.add(new Location(7, 1), new Rock());
//        world.add(new Location(7, 2), new Rock());
//        world.add(new Location(7, 3), new Rock());
//        world.add(new Location(7, 4), new Rock());
//        world.add(new Location(7, 5), new Rock());
//        world.add(new Location(7, 8), new Rock());
//        world.add(new Location(8, 6), new Rock());
//        world.add(new Location(9, 5), new Rock());
//        world.add(new Location(9, 7), new Rock());
//        world.add(new Location(9, 8), new Rock());
//        world.add(new Location(2, 1), new Flag());
        //maze 1 end

        //maze 2 start Unbounded Mode
        // 做一个大框免得它跑出去咯
        //the entry is (1,1)
        world.add(new Location(1,1), new MazeBugPro());
        for (int i=-1;i<41;i++){
            world.add(new Location(-1,i), new Rock());
            world.add(new Location(40,i), new Rock());
            world.add(new Location(i,-1), new Rock());
            world.add(new Location(i,40), new Rock());
        }
        // 加一点细节
        world.add(new Location(0, 0), new Rock());
        world.add(new Location(0, 1), new Rock());
        world.add(new Location(0, 2), new Rock());
        world.add(new Location(0, 3), new Rock());
        world.add(new Location(0, 4), new Rock());
        world.add(new Location(0, 5), new Rock());
        world.add(new Location(0, 6), new Rock());
        world.add(new Location(0, 7), new Rock());
        world.add(new Location(0, 8), new Rock());
        world.add(new Location(0, 9), new Rock());
        world.add(new Location(0, 10), new Rock());
        world.add(new Location(0, 11), new Rock());
        world.add(new Location(0, 12), new Rock());
        world.add(new Location(0, 13), new Rock());
        world.add(new Location(0, 14), new Rock());
        world.add(new Location(0, 15), new Rock());
        world.add(new Location(0, 17), new Rock());
        world.add(new Location(0, 16), new Rock());
        world.add(new Location(0, 19), new Rock());
        world.add(new Location(0, 18), new Rock());
        world.add(new Location(0, 21), new Rock());
        world.add(new Location(0, 20), new Rock());
        world.add(new Location(0, 23), new Rock());
        world.add(new Location(0, 22), new Rock());
        world.add(new Location(0, 25), new Rock());
        world.add(new Location(0, 24), new Rock());
        world.add(new Location(0, 27), new Rock());
        world.add(new Location(0, 26), new Rock());
        world.add(new Location(0, 29), new Rock());
        world.add(new Location(0, 28), new Rock());
        world.add(new Location(0, 31), new Rock());
        world.add(new Location(0, 30), new Rock());
        world.add(new Location(0, 34), new Rock());
        world.add(new Location(0, 35), new Rock());
        world.add(new Location(0, 32), new Rock());
        world.add(new Location(0, 33), new Rock());
        world.add(new Location(0, 38), new Rock());
        world.add(new Location(0, 39), new Rock());
        world.add(new Location(0, 36), new Rock());
        world.add(new Location(0, 37), new Rock());
        world.add(new Location(0, 40), new Rock());
        world.add(new Location(7, 0), new Rock());
        world.add(new Location(7, 12), new Rock());
        world.add(new Location(7, 14), new Rock());
        world.add(new Location(7, 16), new Rock());
        world.add(new Location(7, 26), new Rock());
        world.add(new Location(7, 24), new Rock());
        world.add(new Location(7, 19), new Rock());
        world.add(new Location(7, 40), new Rock());
        world.add(new Location(7, 38), new Rock());
        world.add(new Location(7, 36), new Rock());
        world.add(new Location(14, 1), new Rock());
        world.add(new Location(14, 0), new Rock());
        world.add(new Location(14, 21), new Rock());
        world.add(new Location(14, 19), new Rock());
        world.add(new Location(14, 25), new Rock());
        world.add(new Location(14, 24), new Rock());
        world.add(new Location(14, 23), new Rock());
        world.add(new Location(14, 22), new Rock());
        world.add(new Location(14, 29), new Rock());
        world.add(new Location(14, 28), new Rock());
        world.add(new Location(14, 27), new Rock());
        world.add(new Location(14, 26), new Rock());
        world.add(new Location(14, 33), new Rock());
        world.add(new Location(14, 31), new Rock());
        world.add(new Location(14, 30), new Rock());
        world.add(new Location(14, 4), new Rock());
        world.add(new Location(14, 5), new Rock());
        world.add(new Location(14, 2), new Rock());
        world.add(new Location(14, 3), new Rock());
        world.add(new Location(14, 8), new Rock());
        world.add(new Location(14, 6), new Rock());
        world.add(new Location(14, 7), new Rock());
        world.add(new Location(14, 12), new Rock());
        world.add(new Location(14, 10), new Rock());
        world.add(new Location(14, 16), new Rock());
        world.add(new Location(14, 17), new Rock());
        world.add(new Location(14, 14), new Rock());
        world.add(new Location(27, 0), new Rock());
        world.add(new Location(27, 28), new Rock());
        world.add(new Location(27, 20), new Rock());
        world.add(new Location(27, 18), new Rock());
        world.add(new Location(27, 16), new Rock());
        world.add(new Location(27, 14), new Rock());
        world.add(new Location(14, 38), new Rock());
        world.add(new Location(14, 40), new Rock());
        world.add(new Location(14, 34), new Rock());
        world.add(new Location(14, 36), new Rock());
        world.add(new Location(27, 40), new Rock());
        world.add(new Location(27, 31), new Rock());
        world.add(new Location(28, 2), new Rock());
        world.add(new Location(28, 3), new Rock());
        world.add(new Location(28, 0), new Rock());
        world.add(new Location(28, 40), new Rock());
        world.add(new Location(28, 39), new Rock());
        world.add(new Location(6, 0), new Rock());
        world.add(new Location(28, 37), new Rock());
        world.add(new Location(28, 36), new Rock());
        world.add(new Location(6, 5), new Rock());
        world.add(new Location(6, 4), new Rock());
        world.add(new Location(6, 3), new Rock());
        world.add(new Location(6, 2), new Rock());
        world.add(new Location(6, 9), new Rock());
        world.add(new Location(6, 8), new Rock());
        world.add(new Location(6, 7), new Rock());
        world.add(new Location(6, 6), new Rock());
        world.add(new Location(6, 27), new Rock());
        world.add(new Location(28, 9), new Rock());
        world.add(new Location(6, 26), new Rock());
        world.add(new Location(28, 8), new Rock());
        world.add(new Location(6, 29), new Rock());
        world.add(new Location(28, 11), new Rock());
        world.add(new Location(6, 28), new Rock());
        world.add(new Location(6, 31), new Rock());
        world.add(new Location(28, 5), new Rock());
        world.add(new Location(6, 30), new Rock());
        world.add(new Location(28, 4), new Rock());
        world.add(new Location(6, 33), new Rock());
        world.add(new Location(28, 7), new Rock());
        world.add(new Location(6, 32), new Rock());
        world.add(new Location(28, 6), new Rock());
        world.add(new Location(6, 35), new Rock());
        world.add(new Location(6, 34), new Rock());
        world.add(new Location(28, 16), new Rock());
        world.add(new Location(6, 36), new Rock());
        world.add(new Location(28, 18), new Rock());
        world.add(new Location(28, 13), new Rock());
        world.add(new Location(6, 38), new Rock());
        world.add(new Location(28, 12), new Rock());
        world.add(new Location(6, 40), new Rock());
        world.add(new Location(28, 14), new Rock());
        world.add(new Location(28, 24), new Rock());
        world.add(new Location(6, 10), new Rock());
        world.add(new Location(28, 25), new Rock());
        world.add(new Location(28, 26), new Rock());
        world.add(new Location(6, 12), new Rock());
        world.add(new Location(28, 27), new Rock());
        world.add(new Location(28, 20), new Rock());
        world.add(new Location(6, 14), new Rock());
        world.add(new Location(28, 21), new Rock());
        world.add(new Location(28, 22), new Rock());
        world.add(new Location(6, 16), new Rock());
        world.add(new Location(28, 23), new Rock());
        world.add(new Location(6, 17), new Rock());
        world.add(new Location(28, 32), new Rock());
        world.add(new Location(6, 18), new Rock());
        world.add(new Location(28, 33), new Rock());
        world.add(new Location(6, 19), new Rock());
        world.add(new Location(28, 34), new Rock());
        world.add(new Location(6, 20), new Rock());
        world.add(new Location(28, 35), new Rock());
        world.add(new Location(6, 21), new Rock());
        world.add(new Location(28, 28), new Rock());
        world.add(new Location(6, 22), new Rock());
        world.add(new Location(28, 29), new Rock());
        world.add(new Location(6, 24), new Rock());
        world.add(new Location(28, 31), new Rock());
        world.add(new Location(35, 2), new Rock());
        world.add(new Location(35, 0), new Rock());
        world.add(new Location(35, 20), new Rock());
        world.add(new Location(35, 16), new Rock());
        world.add(new Location(35, 11), new Rock());
        world.add(new Location(35, 6), new Rock());
        world.add(new Location(35, 38), new Rock());
        world.add(new Location(35, 40), new Rock());
        world.add(new Location(35, 25), new Rock());
        world.add(new Location(35, 26), new Rock());
        world.add(new Location(35, 27), new Rock());
        world.add(new Location(35, 28), new Rock());
        world.add(new Location(35, 36), new Rock());
        world.add(new Location(8, 24), new Rock());
        world.add(new Location(8, 26), new Rock());
        world.add(new Location(8, 28), new Rock());
        world.add(new Location(8, 29), new Rock());
        world.add(new Location(8, 30), new Rock());
        world.add(new Location(8, 31), new Rock());
        world.add(new Location(8, 32), new Rock());
        world.add(new Location(8, 33), new Rock());
        world.add(new Location(8, 34), new Rock());
        world.add(new Location(8, 36), new Rock());
        world.add(new Location(8, 38), new Rock());
        world.add(new Location(8, 40), new Rock());
        world.add(new Location(8, 2), new Rock());
        world.add(new Location(8, 0), new Rock());
        world.add(new Location(8, 1), new Rock());
        world.add(new Location(8, 6), new Rock());
        world.add(new Location(8, 7), new Rock());
        world.add(new Location(8, 4), new Rock());
        world.add(new Location(8, 5), new Rock());
        world.add(new Location(8, 10), new Rock());
        world.add(new Location(8, 9), new Rock());
        world.add(new Location(8, 8), new Rock());
        world.add(new Location(8, 14), new Rock());
        world.add(new Location(8, 12), new Rock());
        world.add(new Location(8, 19), new Rock());
        world.add(new Location(8, 18), new Rock());
        world.add(new Location(8, 16), new Rock());
        world.add(new Location(8, 23), new Rock());
        world.add(new Location(8, 22), new Rock());
        world.add(new Location(8, 21), new Rock());
        world.add(new Location(20, 7), new Rock());
        world.add(new Location(20, 11), new Rock());
        world.add(new Location(20, 10), new Rock());
        world.add(new Location(20, 9), new Rock());
        world.add(new Location(20, 2), new Rock());
        world.add(new Location(20, 0), new Rock());
        world.add(new Location(21, 10), new Rock());
        world.add(new Location(21, 7), new Rock());
        world.add(new Location(21, 5), new Rock());
        world.add(new Location(21, 6), new Rock());
        world.add(new Location(21, 3), new Rock());
        world.add(new Location(21, 4), new Rock());
        world.add(new Location(21, 2), new Rock());
        world.add(new Location(21, 0), new Rock());
        world.add(new Location(21, 40), new Rock());
        world.add(new Location(21, 38), new Rock());
        world.add(new Location(20, 38), new Rock());
        world.add(new Location(20, 36), new Rock());
        world.add(new Location(20, 37), new Rock());
        world.add(new Location(20, 40), new Rock());
        world.add(new Location(20, 30), new Rock());
        world.add(new Location(20, 31), new Rock());
        world.add(new Location(20, 28), new Rock());
        world.add(new Location(20, 29), new Rock());
        world.add(new Location(20, 34), new Rock());
        world.add(new Location(20, 35), new Rock());
        world.add(new Location(20, 32), new Rock());
        world.add(new Location(20, 33), new Rock());
        world.add(new Location(20, 23), new Rock());
        world.add(new Location(20, 22), new Rock());
        world.add(new Location(20, 21), new Rock());
        world.add(new Location(20, 20), new Rock());
        world.add(new Location(20, 27), new Rock());
        world.add(new Location(20, 26), new Rock());
        world.add(new Location(20, 25), new Rock());
        world.add(new Location(20, 24), new Rock());
        world.add(new Location(20, 15), new Rock());
        world.add(new Location(20, 14), new Rock());
        world.add(new Location(20, 13), new Rock());
        world.add(new Location(20, 12), new Rock());
        world.add(new Location(20, 19), new Rock());
        world.add(new Location(20, 18), new Rock());
        world.add(new Location(20, 17), new Rock());
        world.add(new Location(20, 16), new Rock());
        world.add(new Location(12, 2), new Rock());
        world.add(new Location(12, 3), new Rock());
        world.add(new Location(12, 0), new Rock());
        world.add(new Location(18, 32), new Rock());
        world.add(new Location(18, 33), new Rock());
        world.add(new Location(12, 10), new Rock());
        world.add(new Location(18, 30), new Rock());
        world.add(new Location(18, 31), new Rock());
        world.add(new Location(12, 8), new Rock());
        world.add(new Location(18, 36), new Rock());
        world.add(new Location(12, 7), new Rock());
        world.add(new Location(12, 6), new Rock());
        world.add(new Location(18, 34), new Rock());
        world.add(new Location(12, 5), new Rock());
        world.add(new Location(18, 35), new Rock());
        world.add(new Location(12, 4), new Rock());
        world.add(new Location(18, 40), new Rock());
        world.add(new Location(12, 19), new Rock());
        world.add(new Location(18, 38), new Rock());
        world.add(new Location(12, 17), new Rock());
        world.add(new Location(12, 16), new Rock());
        world.add(new Location(12, 14), new Rock());
        world.add(new Location(12, 12), new Rock());
        world.add(new Location(18, 15), new Rock());
        world.add(new Location(18, 14), new Rock());
        world.add(new Location(18, 17), new Rock());
        world.add(new Location(18, 16), new Rock());
        world.add(new Location(18, 19), new Rock());
        world.add(new Location(18, 18), new Rock());
        world.add(new Location(18, 21), new Rock());
        world.add(new Location(18, 20), new Rock());
        world.add(new Location(18, 23), new Rock());
        world.add(new Location(18, 22), new Rock());
        world.add(new Location(18, 25), new Rock());
        world.add(new Location(18, 24), new Rock());
        world.add(new Location(18, 27), new Rock());
        world.add(new Location(18, 26), new Rock());
        world.add(new Location(18, 29), new Rock());
        world.add(new Location(18, 28), new Rock());
        world.add(new Location(18, 0), new Rock());
        world.add(new Location(18, 2), new Rock());
        world.add(new Location(18, 4), new Rock());
        world.add(new Location(18, 5), new Rock());
        world.add(new Location(18, 7), new Rock());
        world.add(new Location(18, 8), new Rock());
        world.add(new Location(18, 10), new Rock());
        world.add(new Location(18, 12), new Rock());
        world.add(new Location(18, 13), new Rock());
        world.add(new Location(12, 21), new Rock());
        world.add(new Location(12, 22), new Rock());
        world.add(new Location(12, 24), new Rock());
        world.add(new Location(12, 26), new Rock());
        world.add(new Location(12, 28), new Rock());
        world.add(new Location(12, 30), new Rock());
        world.add(new Location(12, 31), new Rock());
        world.add(new Location(12, 33), new Rock());
        world.add(new Location(12, 34), new Rock());
        world.add(new Location(12, 36), new Rock());
        world.add(new Location(12, 38), new Rock());
        world.add(new Location(12, 40), new Rock());
        world.add(new Location(19, 10), new Rock());
        world.add(new Location(19, 5), new Rock());
        world.add(new Location(19, 6), new Rock());
        world.add(new Location(19, 7), new Rock());
        world.add(new Location(17, 40), new Rock());
        world.add(new Location(19, 4), new Rock());
        world.add(new Location(17, 38), new Rock());
        world.add(new Location(19, 0), new Rock());
        world.add(new Location(17, 36), new Rock());
        world.add(new Location(17, 12), new Rock());
        world.add(new Location(17, 7), new Rock());
        world.add(new Location(17, 10), new Rock());
        world.add(new Location(17, 5), new Rock());
        world.add(new Location(17, 0), new Rock());
        world.add(new Location(17, 2), new Rock());
        world.add(new Location(16, 4), new Rock());
        world.add(new Location(16, 5), new Rock());
        world.add(new Location(16, 7), new Rock());
        world.add(new Location(16, 0), new Rock());
        world.add(new Location(16, 2), new Rock());
        world.add(new Location(16, 3), new Rock());
        world.add(new Location(16, 12), new Rock());
        world.add(new Location(16, 14), new Rock());
        world.add(new Location(16, 15), new Rock());
        world.add(new Location(16, 9), new Rock());
        world.add(new Location(16, 10), new Rock());
        world.add(new Location(16, 23), new Rock());
        world.add(new Location(19, 40), new Rock());
        world.add(new Location(15, 0), new Rock());
        world.add(new Location(16, 22), new Rock());
        world.add(new Location(16, 21), new Rock());
        world.add(new Location(19, 38), new Rock());
        world.add(new Location(16, 20), new Rock());
        world.add(new Location(16, 19), new Rock());
        world.add(new Location(16, 17), new Rock());
        world.add(new Location(16, 16), new Rock());
        world.add(new Location(16, 31), new Rock());
        world.add(new Location(16, 30), new Rock());
        world.add(new Location(15, 7), new Rock());
        world.add(new Location(16, 29), new Rock());
        world.add(new Location(16, 28), new Rock());
        world.add(new Location(16, 27), new Rock());
        world.add(new Location(16, 26), new Rock());
        world.add(new Location(16, 25), new Rock());
        world.add(new Location(16, 24), new Rock());
        world.add(new Location(16, 38), new Rock());
        world.add(new Location(16, 36), new Rock());
        world.add(new Location(16, 34), new Rock());
        world.add(new Location(16, 32), new Rock());
        world.add(new Location(16, 33), new Rock());
        world.add(new Location(16, 40), new Rock());
        world.add(new Location(15, 19), new Rock());
        world.add(new Location(15, 17), new Rock());
        world.add(new Location(15, 12), new Rock());
        world.add(new Location(15, 10), new Rock());
        world.add(new Location(15, 14), new Rock());
        world.add(new Location(15, 36), new Rock());
        world.add(new Location(15, 34), new Rock());
        world.add(new Location(15, 40), new Rock());
        world.add(new Location(15, 38), new Rock());
        world.add(new Location(40, 14), new Rock());
        world.add(new Location(40, 15), new Rock());
        world.add(new Location(40, 12), new Rock());
        world.add(new Location(40, 13), new Rock());
        world.add(new Location(40, 10), new Rock());
        world.add(new Location(40, 11), new Rock());
        world.add(new Location(40, 8), new Rock());
        world.add(new Location(40, 9), new Rock());
        world.add(new Location(40, 22), new Rock());
        world.add(new Location(40, 23), new Rock());
        world.add(new Location(40, 20), new Rock());
        world.add(new Location(40, 21), new Rock());
        world.add(new Location(40, 18), new Rock());
        world.add(new Location(40, 19), new Rock());
        world.add(new Location(40, 16), new Rock());
        world.add(new Location(40, 17), new Rock());
        world.add(new Location(40, 7), new Rock());
        world.add(new Location(40, 6), new Rock());
        world.add(new Location(40, 5), new Rock());
        world.add(new Location(40, 4), new Rock());
        world.add(new Location(40, 3), new Rock());
        world.add(new Location(40, 2), new Rock());
        world.add(new Location(40, 1), new Rock());
        world.add(new Location(40, 0), new Rock());
        world.add(new Location(13, 40), new Rock());
        world.add(new Location(13, 38), new Rock());
        world.add(new Location(13, 36), new Rock());
        world.add(new Location(13, 33), new Rock());
        world.add(new Location(13, 34), new Rock());
        world.add(new Location(13, 31), new Rock());
        world.add(new Location(13, 28), new Rock());
        world.add(new Location(13, 10), new Rock());
        world.add(new Location(13, 0), new Rock());
        world.add(new Location(13, 24), new Rock());
        world.add(new Location(13, 19), new Rock());
        world.add(new Location(13, 21), new Rock());
        world.add(new Location(13, 12), new Rock());
        world.add(new Location(13, 14), new Rock());
        world.add(new Location(22, 0), new Rock());
        world.add(new Location(22, 7), new Rock());
        world.add(new Location(22, 6), new Rock());
        world.add(new Location(22, 8), new Rock());
        world.add(new Location(22, 2), new Rock());
        world.add(new Location(22, 4), new Rock());
        world.add(new Location(22, 14), new Rock());
        world.add(new Location(22, 16), new Rock());
        world.add(new Location(22, 17), new Rock());
        world.add(new Location(22, 10), new Rock());
        world.add(new Location(22, 11), new Rock());
        world.add(new Location(22, 12), new Rock());
        world.add(new Location(22, 13), new Rock());
        world.add(new Location(22, 22), new Rock());
        world.add(new Location(22, 23), new Rock());
        world.add(new Location(22, 24), new Rock());
        world.add(new Location(22, 25), new Rock());
        world.add(new Location(22, 18), new Rock());
        world.add(new Location(22, 19), new Rock());
        world.add(new Location(22, 20), new Rock());
        world.add(new Location(22, 21), new Rock());
        world.add(new Location(22, 29), new Rock());
        world.add(new Location(22, 28), new Rock());
        world.add(new Location(22, 27), new Rock());
        world.add(new Location(22, 26), new Rock());
        world.add(new Location(22, 33), new Rock());
        world.add(new Location(22, 32), new Rock());
        world.add(new Location(22, 31), new Rock());
        world.add(new Location(22, 30), new Rock());
        world.add(new Location(22, 37), new Rock());
        world.add(new Location(22, 36), new Rock());
        world.add(new Location(22, 35), new Rock());
        world.add(new Location(22, 34), new Rock());
        world.add(new Location(22, 40), new Rock());
        world.add(new Location(22, 38), new Rock());
        world.add(new Location(40, 40), new Rock());
        world.add(new Location(40, 30), new Rock());
        world.add(new Location(40, 31), new Rock());
        world.add(new Location(40, 28), new Rock());
        world.add(new Location(40, 29), new Rock());
        world.add(new Location(40, 26), new Rock());
        world.add(new Location(40, 27), new Rock());
        world.add(new Location(40, 24), new Rock());
        world.add(new Location(40, 25), new Rock());
        world.add(new Location(40, 38), new Rock());
        world.add(new Location(40, 39), new Rock());
        world.add(new Location(40, 36), new Rock());
        world.add(new Location(40, 37), new Rock());
        world.add(new Location(40, 34), new Rock());
        world.add(new Location(40, 35), new Rock());
        world.add(new Location(40, 32), new Rock());
        world.add(new Location(40, 33), new Rock());
        world.add(new Location(25, 0), new Rock());
        world.add(new Location(25, 2), new Rock());
        world.add(new Location(25, 6), new Rock());
        world.add(new Location(25, 12), new Rock());
        world.add(new Location(25, 40), new Rock());
        world.add(new Location(24, 4), new Rock());
        world.add(new Location(24, 7), new Rock());
        world.add(new Location(24, 6), new Rock());
        world.add(new Location(24, 0), new Rock());
        world.add(new Location(24, 2), new Rock());
        world.add(new Location(3, 40), new Rock());
        world.add(new Location(24, 22), new Rock());
        world.add(new Location(24, 23), new Rock());
        world.add(new Location(3, 0), new Rock());
        world.add(new Location(24, 21), new Rock());
        world.add(new Location(3, 2), new Rock());
        world.add(new Location(24, 18), new Rock());
        world.add(new Location(24, 19), new Rock());
        world.add(new Location(24, 16), new Rock());
        world.add(new Location(24, 17), new Rock());
        world.add(new Location(24, 14), new Rock());
        world.add(new Location(24, 15), new Rock());
        world.add(new Location(24, 12), new Rock());
        world.add(new Location(24, 13), new Rock());
        world.add(new Location(24, 10), new Rock());
        world.add(new Location(24, 11), new Rock());
        world.add(new Location(24, 8), new Rock());
        world.add(new Location(24, 9), new Rock());
        world.add(new Location(24, 38), new Rock());
        world.add(new Location(24, 36), new Rock());
        world.add(new Location(24, 35), new Rock());
        world.add(new Location(24, 34), new Rock());
        world.add(new Location(24, 33), new Rock());
        world.add(new Location(24, 32), new Rock());
        world.add(new Location(24, 31), new Rock());
        world.add(new Location(3, 6), new Rock());
        world.add(new Location(24, 30), new Rock());
        world.add(new Location(24, 29), new Rock());
        world.add(new Location(24, 27), new Rock());
        world.add(new Location(3, 10), new Rock());
        world.add(new Location(24, 26), new Rock());
        world.add(new Location(24, 25), new Rock());
        world.add(new Location(3, 12), new Rock());
        world.add(new Location(24, 24), new Rock());
        world.add(new Location(36, 31), new Rock());
        world.add(new Location(36, 30), new Rock());
        world.add(new Location(36, 35), new Rock());
        world.add(new Location(36, 34), new Rock());
        world.add(new Location(36, 33), new Rock());
        world.add(new Location(36, 32), new Rock());
        world.add(new Location(36, 38), new Rock());
        world.add(new Location(36, 36), new Rock());
        world.add(new Location(36, 40), new Rock());
        world.add(new Location(4, 40), new Rock());
        world.add(new Location(4, 38), new Rock());
        world.add(new Location(4, 36), new Rock());
        world.add(new Location(4, 37), new Rock());
        world.add(new Location(4, 34), new Rock());
        world.add(new Location(4, 35), new Rock());
        world.add(new Location(4, 32), new Rock());
        world.add(new Location(4, 33), new Rock());
        world.add(new Location(4, 30), new Rock());
        world.add(new Location(4, 31), new Rock());
        world.add(new Location(4, 28), new Rock());
        world.add(new Location(4, 29), new Rock());
        world.add(new Location(36, 0), new Rock());
        world.add(new Location(36, 2), new Rock());
        world.add(new Location(36, 5), new Rock());
        world.add(new Location(36, 4), new Rock());
        world.add(new Location(36, 7), new Rock());
        world.add(new Location(36, 6), new Rock());
        world.add(new Location(36, 9), new Rock());
        world.add(new Location(36, 8), new Rock());
        world.add(new Location(36, 11), new Rock());
        world.add(new Location(36, 13), new Rock());
        world.add(new Location(36, 15), new Rock());
        world.add(new Location(36, 16), new Rock());
        world.add(new Location(36, 18), new Rock());
        world.add(new Location(36, 20), new Rock());
        world.add(new Location(36, 22), new Rock());
        world.add(new Location(36, 24), new Rock());
        world.add(new Location(36, 25), new Rock());
        world.add(new Location(23, 38), new Rock());
        world.add(new Location(23, 40), new Rock());
        world.add(new Location(37, 40), new Rock());
        world.add(new Location(37, 38), new Rock());
        world.add(new Location(37, 36), new Rock());
        world.add(new Location(4, 12), new Rock());
        world.add(new Location(4, 14), new Rock());
        world.add(new Location(4, 15), new Rock());
        world.add(new Location(4, 16), new Rock());
        world.add(new Location(23, 19), new Rock());
        world.add(new Location(4, 17), new Rock());
        world.add(new Location(4, 18), new Rock());
        world.add(new Location(4, 19), new Rock());
        world.add(new Location(4, 20), new Rock());
        world.add(new Location(23, 31), new Rock());
        world.add(new Location(4, 21), new Rock());
        world.add(new Location(4, 22), new Rock());
        world.add(new Location(4, 23), new Rock());
        world.add(new Location(4, 24), new Rock());
        world.add(new Location(23, 27), new Rock());
        world.add(new Location(4, 25), new Rock());
        world.add(new Location(4, 26), new Rock());
        world.add(new Location(4, 27), new Rock());
        world.add(new Location(23, 8), new Rock());
        world.add(new Location(23, 4), new Rock());
        world.add(new Location(4, 0), new Rock());
        world.add(new Location(4, 2), new Rock());
        world.add(new Location(23, 2), new Rock());
        world.add(new Location(4, 5), new Rock());
        world.add(new Location(4, 4), new Rock());
        world.add(new Location(4, 6), new Rock());
        world.add(new Location(4, 9), new Rock());
        world.add(new Location(4, 8), new Rock());
        world.add(new Location(4, 10), new Rock());
        world.add(new Location(24, 40), new Rock());
        world.add(new Location(37, 2), new Rock());
        world.add(new Location(37, 0), new Rock());
        world.add(new Location(10, 3), new Rock());
        world.add(new Location(10, 2), new Rock());
        world.add(new Location(10, 4), new Rock());
        world.add(new Location(23, 0), new Rock());
        world.add(new Location(10, 0), new Rock());
        world.add(new Location(37, 27), new Rock());
        world.add(new Location(37, 28), new Rock());
        world.add(new Location(37, 29), new Rock());
        world.add(new Location(37, 30), new Rock());
        world.add(new Location(37, 22), new Rock());
        world.add(new Location(37, 25), new Rock());
        world.add(new Location(37, 11), new Rock());
        world.add(new Location(37, 13), new Rock());
        world.add(new Location(37, 16), new Rock());
        world.add(new Location(37, 18), new Rock());
        world.add(new Location(10, 19), new Rock());
        world.add(new Location(10, 21), new Rock());
        world.add(new Location(10, 20), new Rock());
        world.add(new Location(10, 14), new Rock());
        world.add(new Location(10, 17), new Rock());
        world.add(new Location(10, 16), new Rock());
        world.add(new Location(10, 10), new Rock());
        world.add(new Location(10, 12), new Rock());
        world.add(new Location(10, 7), new Rock());
        world.add(new Location(10, 6), new Rock());
        world.add(new Location(10, 8), new Rock());
        world.add(new Location(10, 34), new Rock());
        world.add(new Location(10, 36), new Rock());
        world.add(new Location(10, 30), new Rock());
        world.add(new Location(10, 31), new Rock());
        world.add(new Location(10, 32), new Rock());
        world.add(new Location(10, 26), new Rock());
        world.add(new Location(10, 28), new Rock());
        world.add(new Location(10, 22), new Rock());
        world.add(new Location(10, 24), new Rock());
        world.add(new Location(10, 40), new Rock());
        world.add(new Location(10, 38), new Rock());
        world.add(new Location(9, 24), new Rock());
        world.add(new Location(9, 26), new Rock());
        world.add(new Location(9, 28), new Rock());
        world.add(new Location(9, 16), new Rock());
        world.add(new Location(9, 19), new Rock());
        world.add(new Location(9, 10), new Rock());
        world.add(new Location(9, 12), new Rock());
        world.add(new Location(9, 14), new Rock());
        world.add(new Location(9, 0), new Rock());
        world.add(new Location(9, 4), new Rock());
        world.add(new Location(9, 38), new Rock());
        world.add(new Location(9, 36), new Rock());
        world.add(new Location(9, 34), new Rock());
        world.add(new Location(9, 40), new Rock());
        world.add(new Location(31, 18), new Rock());
        world.add(new Location(31, 20), new Rock());
        world.add(new Location(31, 6), new Rock());
        world.add(new Location(31, 2), new Rock());
        world.add(new Location(31, 4), new Rock());
        world.add(new Location(31, 0), new Rock());
        world.add(new Location(31, 40), new Rock());
        world.add(new Location(31, 38), new Rock());
        world.add(new Location(31, 29), new Rock());
        world.add(new Location(11, 0), new Rock());
        world.add(new Location(11, 2), new Rock());
        world.add(new Location(11, 8), new Rock());
        world.add(new Location(11, 12), new Rock());
        world.add(new Location(11, 10), new Rock());
        world.add(new Location(11, 14), new Rock());
        world.add(new Location(11, 16), new Rock());
        world.add(new Location(11, 19), new Rock());
        world.add(new Location(11, 24), new Rock());
        world.add(new Location(11, 26), new Rock());
        world.add(new Location(11, 28), new Rock());
        world.add(new Location(11, 30), new Rock());
        world.add(new Location(11, 34), new Rock());
        world.add(new Location(11, 36), new Rock());
        world.add(new Location(11, 38), new Rock());
        world.add(new Location(11, 40), new Rock());
        world.add(new Location(38, 35), new Rock());
        world.add(new Location(33, 8), new Rock());
        world.add(new Location(38, 36), new Rock());
        world.add(new Location(38, 37), new Rock());
        world.add(new Location(38, 38), new Rock());
        world.add(new Location(33, 11), new Rock());
        world.add(new Location(38, 40), new Rock());
        world.add(new Location(38, 27), new Rock());
        world.add(new Location(38, 28), new Rock());
        world.add(new Location(38, 29), new Rock());
        world.add(new Location(38, 30), new Rock());
        world.add(new Location(38, 31), new Rock());
        world.add(new Location(38, 32), new Rock());
        world.add(new Location(38, 33), new Rock());
        world.add(new Location(38, 19), new Rock());
        world.add(new Location(38, 18), new Rock());
        world.add(new Location(38, 21), new Rock());
        world.add(new Location(38, 20), new Rock());
        world.add(new Location(38, 23), new Rock());
        world.add(new Location(33, 28), new Rock());
        world.add(new Location(38, 22), new Rock());
        world.add(new Location(33, 27), new Rock());
        world.add(new Location(38, 25), new Rock());
        world.add(new Location(38, 24), new Rock());
        world.add(new Location(33, 29), new Rock());
        world.add(new Location(38, 11), new Rock());
        world.add(new Location(38, 10), new Rock());
        world.add(new Location(38, 13), new Rock());
        world.add(new Location(38, 12), new Rock());
        world.add(new Location(33, 36), new Rock());
        world.add(new Location(38, 15), new Rock());
        world.add(new Location(33, 38), new Rock());
        world.add(new Location(33, 37), new Rock());
        world.add(new Location(38, 16), new Rock());
        world.add(new Location(33, 39), new Rock());
        world.add(new Location(33, 40), new Rock());
        world.add(new Location(38, 8), new Rock());
        world.add(new Location(38, 9), new Rock());
        world.add(new Location(38, 6), new Rock());
        world.add(new Location(38, 7), new Rock());
        world.add(new Location(38, 4), new Rock());
        world.add(new Location(38, 2), new Rock());
        world.add(new Location(38, 3), new Rock());
        world.add(new Location(38, 0), new Rock());
        world.add(new Location(33, 6), new Rock());
        world.add(new Location(33, 4), new Rock());
        world.add(new Location(33, 2), new Rock());
        world.add(new Location(33, 0), new Rock());
        world.add(new Location(34, 40), new Rock());
        world.add(new Location(34, 31), new Rock());
        world.add(new Location(34, 30), new Rock());
        world.add(new Location(34, 33), new Rock());
        world.add(new Location(34, 32), new Rock());
        world.add(new Location(34, 35), new Rock());
        world.add(new Location(34, 34), new Rock());
        world.add(new Location(34, 36), new Rock());
        world.add(new Location(34, 22), new Rock());
        world.add(new Location(34, 23), new Rock());
        world.add(new Location(34, 24), new Rock());
        world.add(new Location(34, 25), new Rock());
        world.add(new Location(34, 28), new Rock());
        world.add(new Location(34, 29), new Rock());
        world.add(new Location(34, 14), new Rock());
        world.add(new Location(34, 15), new Rock());
        world.add(new Location(34, 16), new Rock());
        world.add(new Location(34, 17), new Rock());
        world.add(new Location(34, 18), new Rock());
        world.add(new Location(34, 19), new Rock());
        world.add(new Location(34, 20), new Rock());
        world.add(new Location(34, 21), new Rock());
        world.add(new Location(2, 29), new Rock());
        world.add(new Location(34, 9), new Rock());
        world.add(new Location(2, 28), new Rock());
        world.add(new Location(34, 8), new Rock());
        world.add(new Location(2, 27), new Rock());
        world.add(new Location(2, 26), new Rock());
        world.add(new Location(34, 6), new Rock());
        world.add(new Location(2, 25), new Rock());
        world.add(new Location(34, 13), new Rock());
        world.add(new Location(2, 24), new Rock());
        world.add(new Location(2, 23), new Rock());
        world.add(new Location(34, 11), new Rock());
        world.add(new Location(2, 22), new Rock());
        world.add(new Location(34, 10), new Rock());
        world.add(new Location(2, 21), new Rock());
        world.add(new Location(2, 20), new Rock());
        world.add(new Location(34, 0), new Rock());
        world.add(new Location(2, 19), new Rock());
        world.add(new Location(2, 18), new Rock());
        world.add(new Location(2, 17), new Rock());
        world.add(new Location(2, 16), new Rock());
        world.add(new Location(34, 4), new Rock());
        world.add(new Location(2, 15), new Rock());
        world.add(new Location(2, 14), new Rock());
        world.add(new Location(34, 2), new Rock());
        world.add(new Location(2, 40), new Rock());
        world.add(new Location(2, 38), new Rock());
        world.add(new Location(2, 39), new Rock());
        world.add(new Location(2, 36), new Rock());
        world.add(new Location(2, 37), new Rock());
        world.add(new Location(2, 34), new Rock());
        world.add(new Location(2, 35), new Rock());
        world.add(new Location(2, 32), new Rock());
        world.add(new Location(2, 33), new Rock());
        world.add(new Location(2, 30), new Rock());
        world.add(new Location(2, 31), new Rock());
        world.add(new Location(2, 6), new Rock());
        world.add(new Location(2, 8), new Rock());
        world.add(new Location(2, 9), new Rock());
        world.add(new Location(2, 10), new Rock());
        world.add(new Location(2, 11), new Rock());
        world.add(new Location(2, 12), new Rock());
        world.add(new Location(2, 13), new Rock());
        world.add(new Location(2, 0), new Rock());
        world.add(new Location(2, 2), new Rock());
        world.add(new Location(2, 4), new Rock());
        world.add(new Location(2, 5), new Rock());
        world.add(new Location(5, 2), new Rock());
        world.add(new Location(5, 0), new Rock());
        world.add(new Location(5, 10), new Rock());
        world.add(new Location(5, 4), new Rock());
        world.add(new Location(5, 14), new Rock());
        world.add(new Location(5, 12), new Rock());
        world.add(new Location(5, 24), new Rock());
        world.add(new Location(5, 40), new Rock());
        world.add(new Location(5, 38), new Rock());
        world.add(new Location(32, 8), new Rock());
        world.add(new Location(32, 10), new Rock());
        world.add(new Location(32, 11), new Rock());
        world.add(new Location(32, 12), new Rock());
        world.add(new Location(32, 13), new Rock());
        world.add(new Location(32, 14), new Rock());
        world.add(new Location(32, 15), new Rock());
        world.add(new Location(32, 0), new Rock());
        world.add(new Location(32, 2), new Rock());
        world.add(new Location(32, 4), new Rock());
        world.add(new Location(32, 6), new Rock());
        world.add(new Location(32, 25), new Rock());
        world.add(new Location(32, 24), new Rock());
        world.add(new Location(32, 27), new Rock());
        world.add(new Location(32, 26), new Rock());
        world.add(new Location(32, 31), new Rock());
        world.add(new Location(32, 17), new Rock());
        world.add(new Location(32, 16), new Rock());
        world.add(new Location(32, 19), new Rock());
        world.add(new Location(32, 18), new Rock());
        world.add(new Location(32, 21), new Rock());
        world.add(new Location(32, 20), new Rock());
        world.add(new Location(32, 23), new Rock());
        world.add(new Location(32, 22), new Rock());
        world.add(new Location(30, 0), new Rock());
        world.add(new Location(32, 40), new Rock());
        world.add(new Location(32, 38), new Rock());
        world.add(new Location(32, 36), new Rock());
        world.add(new Location(32, 34), new Rock());
        world.add(new Location(32, 35), new Rock());
        world.add(new Location(32, 32), new Rock());
        world.add(new Location(32, 33), new Rock());
        world.add(new Location(30, 16), new Rock());
        world.add(new Location(30, 17), new Rock());
        world.add(new Location(30, 14), new Rock());
        world.add(new Location(30, 15), new Rock());
        world.add(new Location(30, 12), new Rock());
        world.add(new Location(30, 13), new Rock());
        world.add(new Location(30, 10), new Rock());
        world.add(new Location(30, 11), new Rock());
        world.add(new Location(30, 9), new Rock());
        world.add(new Location(30, 6), new Rock());
        world.add(new Location(30, 7), new Rock());
        world.add(new Location(30, 4), new Rock());
        world.add(new Location(30, 2), new Rock());
        world.add(new Location(30, 40), new Rock());
        world.add(new Location(30, 38), new Rock());
        world.add(new Location(30, 37), new Rock());
        world.add(new Location(30, 36), new Rock());
        world.add(new Location(30, 34), new Rock());
        world.add(new Location(30, 24), new Rock());
        world.add(new Location(30, 25), new Rock());
        world.add(new Location(30, 22), new Rock());
        world.add(new Location(30, 23), new Rock());
        world.add(new Location(30, 20), new Rock());
        world.add(new Location(30, 21), new Rock());
        world.add(new Location(30, 18), new Rock());
        world.add(new Location(30, 32), new Rock());
        world.add(new Location(30, 33), new Rock());
        world.add(new Location(30, 30), new Rock());
        world.add(new Location(30, 31), new Rock());
        world.add(new Location(30, 28), new Rock());
        world.add(new Location(30, 29), new Rock());
        world.add(new Location(30, 26), new Rock());
        world.add(new Location(30, 27), new Rock());
        world.add(new Location(1, 40), new Rock());
        world.add(new Location(29, 16), new Rock());
        world.add(new Location(29, 20), new Rock());
        world.add(new Location(29, 31), new Rock());
        world.add(new Location(29, 40), new Rock());
        world.add(new Location(1, 0), new Rock());
        world.add(new Location(29, 0), new Rock());
        world.add(new Location(29, 2), new Rock());
        world.add(new Location(29, 4), new Rock());
        world.add(new Location(29, 6), new Rock());
        world.add(new Location(29, 9), new Rock());
        world.add(new Location(39, 0), new Rock());
        world.add(new Location(39, 39), new Rock());
        world.add(new Location(39, 40), new Rock());
        world.add(new Location(26, 14), new Rock());
        world.add(new Location(26, 15), new Rock());
        world.add(new Location(26, 16), new Rock());
        world.add(new Location(26, 18), new Rock());
        world.add(new Location(26, 19), new Rock());
        world.add(new Location(26, 20), new Rock());
        world.add(new Location(26, 21), new Rock());
        world.add(new Location(26, 6), new Rock());
        world.add(new Location(26, 7), new Rock());
        world.add(new Location(26, 9), new Rock());
        world.add(new Location(26, 10), new Rock());
        world.add(new Location(26, 11), new Rock());
        world.add(new Location(26, 12), new Rock());
        world.add(new Location(26, 0), new Rock());
        world.add(new Location(26, 3), new Rock());
        world.add(new Location(26, 2), new Rock());
        world.add(new Location(26, 4), new Rock());
        world.add(new Location(26, 40), new Rock());
        world.add(new Location(26, 38), new Rock());
        world.add(new Location(26, 39), new Rock());
        world.add(new Location(26, 33), new Rock());
        world.add(new Location(26, 32), new Rock());
        world.add(new Location(26, 31), new Rock());
        world.add(new Location(26, 37), new Rock());
        world.add(new Location(26, 36), new Rock());
        world.add(new Location(26, 35), new Rock());
        world.add(new Location(26, 24), new Rock());
        world.add(new Location(26, 23), new Rock());
        world.add(new Location(26, 22), new Rock());
        world.add(new Location(26, 29), new Rock());
        world.add(new Location(26, 28), new Rock());
        world.add(new Location(26, 27), new Rock());
        world.add(new Location(26, 26), new Rock());
        world.add(new Location(35, 35), new Flag());

        //maze 2 end

        //maze 3 start Unbounded Mode
//        for (int i=-1;i<41;i++){
//            world.add(new Location(-1,i), new Rock());
//            world.add(new Location(40,i), new Rock());
//            world.add(new Location(i,-1), new Rock());
//            world.add(new Location(i,40), new Rock());
//        }
//        world.add(new Location(0, 2), new Rock());
//        world.add(new Location(0, 6), new Rock());
//        world.add(new Location(0,10), new Rock());
//        world.add(new Location(0,23), new Rock());
//        world.add(new Location(1,0), new Rock());
//        world.add(new Location(1,3), new Rock());
//        world.add(new Location(1,5), new Rock());
//        world.add(new Location(1,8), new Rock());
//        world.add(new Location(1,11), new Rock());
//        for(int i=15;i<25;i++){
//            world.add(new Location(1,i), new Rock());
//        }
//        world.add(new Location(2,1), new Rock());
//        world.add(new Location(2,4), new Rock());
//        world.add(new Location(2,7), new Rock());
//        world.add(new Location(2,9), new Rock());
//        world.add(new Location(2,12), new Rock());
//        world.add(new Location(2,23), new Rock());
//        world.add(new Location(2,27), new Rock());
//        world.add(new Location(2,31), new Rock());
//        world.add(new Location(2,35), new Rock());
//        world.add(new Location(3,2), new Rock());
//        world.add(new Location(3,6), new Rock());
//        world.add(new Location(3,10), new Rock());
//        world.add(new Location(3,13), new Rock());
//        for(int i=16;i<22;i++){
//            world.add(new Location(3,i), new Rock());
//        }
//        world.add(new Location(3,25), new Rock());
//        world.add(new Location(3,29), new Rock());
//        world.add(new Location(3,33), new Rock());
//        world.add(new Location(3,36), new Rock());
//        world.add(new Location(4,3), new Rock());
//        world.add(new Location(4,5), new Rock());
//        world.add(new Location(4,11), new Rock());
//        world.add(new Location(4,14), new Rock());
//        world.add(new Location(4,16), new Rock());
//        for(int i=21;i<35;i++){
//            world.add(new Location(4,i), new Rock());
//        }
//        world.add(new Location(5,12), new Rock());
//        world.add(new Location(5,16), new Rock());
//        world.add(new Location(5,18), new Rock());
//        world.add(new Location(5,21), new Rock());
//        world.add(new Location(5,35), new Rock());
//        world.add(new Location(5,37), new Rock());
//        world.add(new Location(6,13), new Rock());
//        world.add(new Location(6,18), new Rock());
//        world.add(new Location(6,21), new Rock());
//        world.add(new Location(6,23), new Rock());
//        world.add(new Location(6,24), new Rock());
//        world.add(new Location(6,28), new Rock());
//        world.add(new Location(6,29), new Rock());
//        world.add(new Location(6,30), new Rock());
//        world.add(new Location(6,34), new Rock());
//        world.add(new Location(6,35), new Rock());
//        world.add(new Location(6,37), new Rock());
//        world.add(new Location(7,14), new Rock());
//        for(int i=16;i<22;i++){
//            world.add(new Location(7,i), new Rock());
//        }
//        world.add(new Location(7,27), new Rock());
//        world.add(new Location(7,31), new Rock());
//        world.add(new Location(7,33), new Rock());
//        world.add(new Location(7,37), new Rock());
//        world.add(new Location(8,16), new Rock());
//        world.add(new Location(8,26), new Rock());
//        world.add(new Location(8,29), new Rock());
//        world.add(new Location(8,32), new Rock());
//        world.add(new Location(8,33), new Rock());
//        for(int i=35;i<38;i++){
//            world.add(new Location(8,i), new Rock());
//        }
//        world.add(new Location(9,17), new Rock());
//        world.add(new Location(9,25), new Rock());
//        world.add(new Location(9,28), new Rock());
//        world.add(new Location(9,30), new Rock());
//        world.add(new Location(9,33), new Rock());
//        world.add(new Location(9,37), new Rock());
//        world.add(new Location(10,18), new Rock());
//        world.add(new Location(10,23), new Rock());
//        world.add(new Location(10,24), new Rock());
//        world.add(new Location(10,27), new Rock());
//        world.add(new Location(10,31), new Rock());
//        world.add(new Location(10,34), new Rock());
//        world.add(new Location(10,35), new Rock());
//        world.add(new Location(10,37), new Rock());
//        world.add(new Location(11,19), new Rock());
//        world.add(new Location(11,21), new Rock());
//        world.add(new Location(11,23), new Rock());
//        world.add(new Location(11,26), new Rock());
//        world.add(new Location(11,32), new Rock());
//        world.add(new Location(11,35), new Rock());
//        world.add(new Location(11,37), new Rock());
//        for(int i=20;i<24;i++){
//            world.add(new Location(12,i), new Rock());
//        }
//        world.add(new Location(12,25), new Rock());
//        world.add(new Location(12,33), new Rock());
//        world.add(new Location(12,37), new Rock());
//        world.add(new Location(13,21), new Rock());
//        world.add(new Location(13,23), new Rock());
//        world.add(new Location(13,25), new Rock());
//        world.add(new Location(13,34), new Rock());
//        world.add(new Location(13,36), new Rock());
//        for(int i=17;i<22;i++){
//            world.add(new Location(14,i), new Rock());
//        }
//        for(int i=25;i<30;i++){
//            world.add(new Location(14,i), new Rock());
//        }
//        world.add(new Location(15,16), new Rock());
//        world.add(new Location(15,22), new Rock());
//        world.add(new Location(15,24), new Rock());
//        world.add(new Location(15,30), new Rock());
//        world.add(new Location(16,16), new Rock());
//        for(int i=18;i<28;i++){
//            if(i==23)	continue;
//            world.add(new Location(16,i), new Rock());
//        }
//        world.add(new Location(16,30), new Rock());
//        for(int i=16;i<31;i+=2){
//            world.add(new Location(18,i), new Rock());
//            if(i==20)	continue;
//            world.add(new Location(17,i), new Rock());
//        }
//        world.add(new Location(19,16), new Rock());
//        world.add(new Location(19,18), new Rock());
//        world.add(new Location(19,20), new Rock());
//        world.add(new Location(19,21), new Rock());
//        world.add(new Location(19,22), new Rock());
//        world.add(new Location(19,24), new Rock());
//        world.add(new Location(19,26), new Rock());
//        world.add(new Location(19,28), new Rock());
//        world.add(new Location(19,30), new Rock());
//        for(int i=18;i<31;i+=2){
//            if(i==20)   continue;
//            world.add(new Location(20,i), new Rock());
//        }
//        for(int i=16;i<21;i++){
//            world.add(new Location(21,i), new Rock());
//        }
//        world.add(new Location(21,22), new Rock());
//        world.add(new Location(21,24), new Rock());
//        world.add(new Location(21,30), new Rock());
//        world.add(new Location(22,16), new Rock());
//        world.add(new Location(22,20), new Rock());
//        world.add(new Location(22,22), new Rock());
//        for(int i=24;i<29;i++){
//            world.add(new Location(22,i), new Rock());
//        }
//        world.add(new Location(23,16), new Rock());
//        world.add(new Location(23,18), new Rock());
//        world.add(new Location(23,20), new Rock());
//        world.add(new Location(23,29), new Rock());
//        world.add(new Location(24,16), new Rock());
//        world.add(new Location(24,18), new Rock());
//        for(int i=20;i<25;i++){
//            world.add(new Location(24,i), new Rock());
//        }
//        world.add(new Location(24,26), new Rock());
//        world.add(new Location(24,27), new Rock());
//        world.add(new Location(24,30), new Rock());
//        world.add(new Location(25,16), new Rock());
//        world.add(new Location(25,18), new Rock());
//        world.add(new Location(25,26), new Rock());
//        world.add(new Location(25,30), new Rock());
//        world.add(new Location(26,16), new Rock());
//        for(int i=18;i<27;i++){
//            world.add(new Location(26,i), new Rock());
//        }
//        world.add(new Location(27,16), new Rock());
//        for(int i=16;i<27;i++){
//            world.add(new Location(28,i), new Rock());
//        }
//        for(int i=27;i<40;i++){
//            world.add(new Location(i,i), new Rock());
//        }
//        for(int i=18;i<27;i++){
//            world.add(new Location(i,57-i), new Rock());
//        }
//        world.add(new Location(18, 21), new Flag());

        //maze 3 end

        world.show();
    }
}
